package com.ls.fw.data.config;

import java.util.Properties;


/**
 * 配置参数接口
 * @author ls
 * 2014年12月6日上午11:59:40
 */
public interface DataConfig {
	/**
	 * 默认主键
	 */
	public static final String DEFAULT_ID = "id";
	

	/**
	 * 主键参数名称
	 */
	public static final String PARAM_PRIKEYNAME = "data.priKeyName";
	
	/**
	 * 是否自动提交参数名称
	 */
	public static final String PARAM_AUTOCOMMIT = "data.autoCommit";
	/**
	 * 服务地址参数名称
	 */
	public static final String PARAM_ADDRESS = "data.address";
	
	/**
	 * 服务地址参数名称
	 */
	public static final String PARAM_NAME = "data.name";
	
	/**
	 * 主键名称(默认为id)
	 * @author ls
	 * 2014年12月6日上午11:57:54 
	 * @return
	 */
	public String getPriKeyName();
	
	
	
	/**
	 * 是否自动提交
	 * @author ls
	 * 2014年12月6日下午2:26:30 
	 * @return
	 */
	public boolean isAutoCommit();
	
	
	/**
	 * 配置参数信息
	 * @author ls
	 * 2014年12月6日上午11:58:22 
	 * @return
	 */
	public Properties getProperties();


	String get(String name, String defaultValue);


	boolean containsKey(String name);


	Object remove(String name);


	String get(String name);


	void put(String name, Object value);
	
	
	/**
	 * 添加一个配置文件
	 * @author ls
	 * 2014年12月6日下午2:03:03 
	 * @param path
	 */
	public void putFile(String path);
	
	
	/**
	 * 获取服务地址信息
	 * @author ls
	 * 2014年12月6日下午2:26:17 
	 * @return
	 */
	public String getAddress();
	
	
	public String getServerName();
}
